Implementing a Callback Service
If your integration uses a Callback service you can implement it as shown in the example below.
Example: /jumio-callback Endpoint
package com.acme.demowithsdk; import com.jumio.sdk.callback.model.CallbackRequestBody; import com.jumio.sdk.kyx.JumioClient; import com.jumio.sdk.retrieval_v3.model.WorkflowExecutionResponse; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.UUID; @RestController @RequestMapping("/jumio-callback") public class JumioCallbackRestController { private final JumioClient jumioClient; private static final Logger logger = LoggerFactory.getLogger(JumioCallbackRestController.class); public JumioCallbackRestController(JumioClient jumioClient) { this.jumioClient = jumioClient; } @PostMapping public void handleCallback(@RequestBody CallbackRequestBody callbackRequestBody) { final UUID workflowExecutionId = callbackRequestBody.getWorkflowExecution().getId(); final String workflowExecutionStatus = callbackRequestBody.getWorkflowExecution().getStatus(); if (!"PROCESSED".equalsIgnoreCase(workflowExecutionStatus)) { logger.warn("Workflow {} has not been processed. Status is {}", workflowExecutionId, workflowExecutionStatus); return; } final WorkflowExecutionResponse workflowExecutionResponse = jumioClient.retrieveData(callbackRequestBody); if (!"PASSED".equalsIgnoreCase(workflowExecutionResponse.getDecision().getType())) { logger.warn("ID Scan has been rejected for {}", workflowExecutionId); return; } logger.info("Verification {} successfully processed.", workflowExecutionId); } }